SSDs use non-volatile, solid-state storage media, such as flash media, to persistently store large amounts of data. SSDs can operate in a manner similar to conventional hard disk drives (HDDs), but lack the motor, magnetic disc, read head, and other moving components of HDDs. The lack of moving parts makes SSDs more rugged than HDDs. For example, when an HDD is dropped or shaken, the read head can collide with and sometimes damage the rotating magnetic disc. Additionally, SSDs have faster read/write speeds than HDDs, and they make virtually no noise.
The flash media of an SSD can be “NOR flash” and/or a “NAND flash” media. NAND flash is typically favored for bulk data storage because it has a higher storage capacity, lower cost, and faster write speed than NOR flash. NAND flash, however, has a relatively complicated serial interface compared to a NOR flash interface, which can be a random access interface. As a result, NOR flash is often used in conjunction with NAND flash for storing certain programming information that is frequently reprogrammed. One such type of programming information is initialization information. The controller uses the initialization information at the time of startup (i.e., when the SSD is powered on).